From 502f75514737f598d1b2134091b364f425bee703 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Fri, 17 Aug 2018 16:12:22 +0100 Subject: [PATCH] x86/mm: don't reference hvm_funcs directly It is generally not a good idea to reference the internal data structure of the another subsystem directly. Introduce a wrapper function for the invlpg hook. No functional change. Signed-off-by: Wei Liu Acked-by: Andrew Cooper --- xen/arch/x86/mm.c | 2 +- xen/include/asm-x86/hvm/hvm.h | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 85ccf488f5..8ac4412554 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -5800,7 +5800,7 @@ void paging_invlpg(struct vcpu *v, unsigned long va) if ( is_pv_vcpu(v) ) flush_tlb_one_local(va); else - hvm_funcs.invlpg(v, va); + hvm_invlpg(v, va); } /* Build a 32bit PSE page table using 4MB pages. */ diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index 4f720ade4b..146720c356 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -454,6 +454,11 @@ static inline int hvm_event_pending(struct vcpu *v) return hvm_funcs.event_pending(v); } +static inline void hvm_invlpg(struct vcpu *v, unsigned long va) +{ + hvm_funcs.invlpg(v, va); +} + /* These bits in CR4 are owned by the host. */ #define HVM_CR4_HOST_MASK (mmu_cr4_features & \ (X86_CR4_VMXE | X86_CR4_PAE | X86_CR4_MCE)) -- 2.30.2